package org.wangzhen.spring.event.orginal;

import org.springframework.context.ApplicationEvent;

/**
 * java事件的规范：对于事件对象来说全部都继承{@link java.util.EventObject}，表示是一个事件
 *                对于监听器来说全部都继承自{@link java.util.EventListener}, 表示是一个事件监听器(就是一个标记接口，里面一个方法都没有)
 *
 * 对于spring来说基于java的事件进行了一些封装：所有的事件对象都继承于{@link ApplicationEvent}
 *                                         所有的事件监听器都继承于{@link org.springframework.context.ApplicationListener}
 * ApplicationEvent     --继承于 EventSource
 * ApplicationListener  --继承于 EventListeren
 *
 */
public class EventMain {

    public static void main(String[] args) {
        MyEventObject eventObject = new MyEventObject("张三");
        eventObject.addListeners(new MyEventListener());
        eventObject.publishChange();;
    }
}
